import { post } from "@/utils/http";
import type { SigninRequest, SigninResponse, SignupRequest, SignupResponse } from "@/types/auth";
import type { BaseResponse } from "@/types/api";

/**
 * 认证相关API接口
 * 匹配后端NestJS AuthController接口
 */
export const authApi = {
  /**
   * 用户登录
   * @param data 登录请求参数
   * @returns 登录响应数据
   */
  signin: (data: SigninRequest) => post<BaseResponse<SigninResponse>>("/auth/signin", data),

  /**
   * 用户注册
   * @param data 注册请求参数
   * @returns 注册响应数据
   */
  signup: (data: SignupRequest) => post<BaseResponse<SignupResponse>>("/auth/signup", data),

  /**
   * 用户登出
   * @returns 登出响应数据
   */
  signout: () => post<BaseResponse<{ message: string }>>("/auth/signout", {}),
};
